package co.edu.usbcali.museo.modelo.dto;

import co.edu.usbcali.museo.modelo.Periodo;
import co.edu.usbcali.museo.presentation.backEndBeans.PeriodoView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;


/**
*
*
* @author Zathura Code Generator http://code.google.com/p/zathura,
*
*/
public class PeriodoDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private String codperiodo;
    private Date fechafin;
    private Date fechainicio;
    private boolean rowSelected = false;
    private PeriodoView periodoView;
    private Periodo periodo;

    public Periodo getPeriodo() {
        return periodo;
    }

    public String listener_update(ActionEvent e) {
        try {
            periodoView.action_modifyWitDTO(((codperiodo == null) ||
                codperiodo.equals("")) ? null : new Long(codperiodo),
                ((fechafin == null) || fechafin.equals("")) ? null : fechafin,
                ((fechainicio == null) || fechainicio.equals("")) ? null
                                                                  : fechainicio);
            rowSelected = !rowSelected;
        } catch (Exception ex) {
            return "";
        }

        return "";
    }

    public void listener_cancel(ActionEvent e) {
        codperiodo = periodo.getCodperiodo().toString();
        fechafin = periodo.getFechafin();
        fechainicio = periodo.getFechainicio();
        rowSelected = !rowSelected;
    }

    /**
    * <p>Bound to commandLink actionListener in the ui that renders/unrenders
        * the Customer details for editing.</p>
        */
    public void toggleSelected(ActionEvent e) {
        codperiodo = periodo.getCodperiodo().toString();
        fechafin = periodo.getFechafin();
        fechainicio = periodo.getFechainicio();
        rowSelected = !rowSelected;
    }

    public void setPeriodo(Periodo periodo) {
        this.periodo = periodo;
    }

    public PeriodoView getPeriodoView() {
        return periodoView;
    }

    public void setPeriodoView(PeriodoView periodoView) {
        this.periodoView = periodoView;
    }

    public Date getFechafin() {
        return fechafin;
    }

    public void setFechafin(Date fechafin) {
        this.fechafin = fechafin;
    }

    public Date getFechainicio() {
        return fechainicio;
    }

    public void setFechainicio(Date fechainicio) {
        this.fechainicio = fechainicio;
    }

    public String getCodperiodo() {
        return codperiodo;
    }

    public void setCodperiodo(String codperiodo) {
        this.codperiodo = codperiodo;
    }

    public boolean isRowSelected() {
        return rowSelected;
    }

    public void setRowSelected(boolean rowSelected) {
        this.rowSelected = rowSelected;
    }
}
